package tiers3.services;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import common.Tweet;
import common.Utilisateur;

public interface IServicePersistance extends Remote {

	public Utilisateur creerUtilisateur(Utilisateur utilisateur) throws RemoteException;
	
	public Utilisateur modifierUtilisateur(Utilisateur pUtilisateur) throws RemoteException;
	
	public Tweet creerTweet(Utilisateur pUtilisateur, Tweet pTweet) throws RemoteException;
	
	public boolean supprimerTweet(Utilisateur pUtilisateur, Tweet pTweet) throws RemoteException;
	
	public List<Utilisateur> rechercherTousUtilisateurs() throws RemoteException;
	
	public List<Tweet> rechercherTousTweets() throws RemoteException;
	
	public List<Tweet> rechercherTweetsParUtilisateur(Utilisateur utilisateur) throws RemoteException;
		
	public Utilisateur rechercherUtilisateurParId(int pId) throws RemoteException;
	
	public Utilisateur rechercherUtilisateurParLogin(String pLogin) throws RemoteException;
	
	public Utilisateur rechercherUtilisateurParLoginMdp(String pLogin, String pMdp) throws RemoteException;
	
	public List<Utilisateur> rechercherUtilisateursParNom(String pNom) throws RemoteException;
	
	public List<Utilisateur> rechercherUtilisateursParPrenom(String pPrenom) throws RemoteException;
	
	public void ajoutSuivi(Utilisateur pUtilisateur, int pIdSuivi) throws RemoteException;
	
	public void supprimerSuivi(Utilisateur pUtilisateur, int pIdSuivi) throws RemoteException;
	
	public List<Integer> rechercheAbonnementUtilisateur(Utilisateur pUtilisateur) throws RemoteException;

}
